package com.lxmes.business.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.lxmes.common.annotation.Excel;
import com.lxmes.common.core.domain.BaseEntity;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 库存信息对象 cc_stockinfo_info
 *
 * @author 张志煜
 * @date 2022-06-12
 */
public class CcStockinfoInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;
    /** 公司代码 */
    @Excel(name = "公司代码")
    private String tenantId;
    /** 大类编码 */
    // @Excel(name = "物料类型编码")
    private String classId;
    /** 大类名称 */
    @Excel(name = "物料类型")
    private String className;

    /** 物料图号 */
    @Excel(name = "物料图号")
    private String itemCode;
    /** 物料子图号 */
    @Excel(name = "物料子图号")
    private String itemId;
    /** 物料名称 */
    @Excel(name = "物料名称")
    private String itemName;
    /** 规格 */
    @Excel(name = "规格型号")
    private String spec;
    /** 仓库编码 */
     @Excel(name = "仓库编码")
    private String stockId;

    /** 仓库名称 */
    @Excel(name = "仓库名称")
    private String stockName;
    /** 库区编码 */
    @Excel(name = "库区编码")
    private String kuquCode;

    /** 库区名称 */
    @Excel(name = "库区名称")
    private String kuquName;
    /** 库位编码 */
    @Excel(name = "库位编码")
    private String kuweiCode;

    /** 物料单位 */
    @Excel(name = "物料单位")
    private String unit;
    /** 库存数量 */
    @Excel(name = "库存数量")
    private BigDecimal kcNum;


    /** 锁账数量 */
    @Excel(name = "锁账数量")
    private BigDecimal lockNum;

    /** 可用数量 */
    @Excel(name = "可用数量")
    private BigDecimal kyNum;

    /** 单价 */
    @Excel(name = "单价")
    private BigDecimal unitPrice;
    /** 金额 */
    @Excel(name = "金额")
    private BigDecimal totalPrice;
    /** 实时价 */
    @Excel(name = "实时价")
    private BigDecimal realPrice;

    /** 实时金额 */
    @Excel(name = "实时金额")
    private BigDecimal  realTotalPrice;
    /** 销售订单号 */
    @Excel(name = "销售订单号")
    private String saleOrderCode;

    /** 合同编号 */
    @Excel(name = "合同编号")
    private String contractCode;

    /** 合同数量 */
    @Excel(name = "合同数量")
    private BigDecimal contractNum;

    /** 订单满足率 */
    @Excel(name = "订单满足率")
    private BigDecimal orderFill;

    /** 是否呆滞 */
    @Excel(name = "是否呆滞")
    private String isDaizhi;

    /** 批次号 */
    @Excel(name = "批次号")
    private String lot;
    /** 托管 */
    @Excel(name = "托管")
    private String isTuoguan;

    /** 托盘码 */
    @Excel(name = "托盘码")
    private String tuopanCode;

    /** 器具编号 */
    @Excel(name = "器具编号")
    private String qijuCode;

    /** 条形码 */
    @Excel(name = "条形码")
    private String txm;
    /** 质量状态;（0合格 1不合格） */
    @Excel(name = "质量状态;", readConverterExp = "0=合格,1=不合格")
    private Long qutlityStauts;
    /** 供应商 */
    // @Excel(name = "供应商")
    private Long supplyId;

    /** 供应商名称 */
    @Excel(name = "供应商名称")
    private String supplyName;

    /** 制造商编码 */
    @Excel(name = "制造商编码")
    private String makerCode;

    /** 制造商名称 */
    @Excel(name = "制造商名称")
    private String makerName;
    /** 尺寸 */
    @Excel(name = "尺寸")
    private BigDecimal size;

    /** 单重 */
    @Excel(name = "单重")
    private BigDecimal singleWeight;

    /** 总重 */
    @Excel(name = "总重")
    private BigDecimal totalWeight;

    /** 包装数量 */
    @Excel(name = "包装数量")
    private BigDecimal packingNum;

    /** 入库时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入库时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date rukuDate;

    /** 库存上限 */
    @Excel(name = "库存上限")
    private BigDecimal upLine;

    /** 库存下限 */
    @Excel(name = "库存下限")
    private BigDecimal downLine;

    /** 安全库存 */
    @Excel(name = "安全库存")
    private BigDecimal stockSafe;

    /** 使用状态 */
    @Excel(name = "使用状态")
    private String useState;

    /** 颜色 */
    @Excel(name = "颜色")
    private String color;

    /** 花纹 */
    @Excel(name = "花纹")
    private String figure;

    /** 材质 */
    @Excel(name = "材质")
    private String caizhi;

    /** 逻辑乐观锁 */
   // @Excel(name = "逻辑乐观锁")
    private Long version;

    /** 部门id */
    @Excel(name = "部门id")
    private Long deptId;
    /**
     * 库存预警标识 用作查询
     */
    private String yjflag;
    /**
     * 库存预警标识 用作查询
     */
    private String yjflag1;
    private String queryParams;
    private String[] codesParams;
    private String[] lotsParams;
    private String jcItemName;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setDeptId(Long deptId)
    {
        this.deptId = deptId;
    }

    public BigDecimal getUnitPrice() {
        return unitPrice;
    }

    public void setUnitPrice(BigDecimal unitPrice) {
        this.unitPrice = unitPrice;
    }

    public Long getDeptId()
    {
        return deptId;
    }
    public void setItemName(String itemName)
    {
        this.itemName = itemName;
    }

    public String getItemName()
    {
        return itemName;
    }
    public void setItemId(String itemId)
    {
        this.itemId = itemId;
    }

    public String getItemId()
    {
        return itemId;
    }
    public void setLot(String lot)
    {
        this.lot = lot;
    }

    public String getLot()
    {
        return lot;
    }
    public void setKcNum(BigDecimal kcNum)
    {
        this.kcNum = kcNum;
    }

    public BigDecimal getKcNum()
    {
        return kcNum;
    }
    public void setQutlityStauts(Long qutlityStauts)
    {
        this.qutlityStauts = qutlityStauts;
    }

    public Long getQutlityStauts()
    {
        return qutlityStauts;
    }
    public void setSupplyId(Long supplyId)
    {
        this.supplyId = supplyId;
    }

    public Long getSupplyId()
    {
        return supplyId;
    }
    public void setSupplyName(String supplyName)
    {
        this.supplyName = supplyName;
    }

    public String getSupplyName()
    {
        return supplyName;
    }
    public void setClassId(String classId)
    {
        this.classId = classId;
    }

    public String getClassId()
    {
        return classId;
    }
    public void setClassName(String className)
    {
        this.className = className;
    }

    public String getClassName()
    {
        return className;
    }
    public void setStockId(String stockId)
    {
        this.stockId = stockId;
    }

    public String getStockId()
    {
        return stockId;
    }
    public void setStockName(String stockName)
    {
        this.stockName = stockName;
    }

    public String getStockName()
    {
        return stockName;
    }
    public void setVersion(Long version)
    {
        this.version = version;
    }

    public Long getVersion()
    {
        return version;
    }

    public BigDecimal getUpLine() {
        return upLine;
    }

    public void setUpLine(BigDecimal upLine) {
        this.upLine = upLine;
    }

    public BigDecimal getDownLine() {
        return downLine;
    }

    public void setDownLine(BigDecimal downLine) {
        this.downLine = downLine;
    }

    public String[] getCodesParams() {
        return codesParams;
    }

    public void setCodesParams(String[] codesParams) {
        this.codesParams = codesParams;
    }

    public String getSpec() {
        return spec;
    }

    public void setSpec(String spec) {
        this.spec = spec;
    }

    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public BigDecimal getLockNum() {
        return lockNum;
    }

    public void setLockNum(BigDecimal lockNum) {
        this.lockNum = lockNum;
    }



    public String getYjflag() {
        return yjflag;
    }

    public String getYjflag1() {
        return yjflag1;
    }

    public void setYjflag1(String yjflag1) {
        this.yjflag1 = yjflag1;
    }

    public void setYjflag(String yjflag) {
        this.yjflag = yjflag;
    }


    public String getQueryParams() {
        return queryParams;
    }

    public void setQueryParams(String queryParams) {
        this.queryParams = queryParams;
    }

    public String[] getLotsParams() {
        return lotsParams;
    }

    public void setLotsParams(String[] lotsParams) {
        this.lotsParams = lotsParams;
    }

    public String getTenantId() {
        return tenantId;
    }

    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    public String getItemCode() {
        return itemCode;
    }

    public void setItemCode(String itemCode) {
        this.itemCode = itemCode;
    }

    public String getKuquCode() {
        return kuquCode;
    }

    public void setKuquCode(String kuquCode) {
        this.kuquCode = kuquCode;
    }

    public String getKuquName() {
        return kuquName;
    }

    public void setKuquName(String kuquName) {
        this.kuquName = kuquName;
    }

    public String getKuweiCode() {
        return kuweiCode;
    }

    public void setKuweiCode(String kuweiCode) {
        this.kuweiCode = kuweiCode;
    }

    public BigDecimal getKyNum() {
        return kyNum;
    }

    public void setKyNum(BigDecimal kyNum) {
        this.kyNum = kyNum;
    }

    public BigDecimal getTotalPrice() {
        return totalPrice;
    }

    public void setTotalPrice(BigDecimal totalPrice) {
        this.totalPrice = totalPrice;
    }

    public BigDecimal getRealPrice() {
        return realPrice;
    }

    public void setRealPrice(BigDecimal realPrice) {
        this.realPrice = realPrice;
    }

    public BigDecimal getRealTotalPrice() {
        return realTotalPrice;
    }

    public void setRealTotalPrice(BigDecimal realTotalPrice) {
        this.realTotalPrice = realTotalPrice;
    }

    public String getSaleOrderCode() {
        return saleOrderCode;
    }

    public void setSaleOrderCode(String saleOrderCode) {
        this.saleOrderCode = saleOrderCode;
    }

    public String getContractCode() {
        return contractCode;
    }

    public void setContractCode(String contractCode) {
        this.contractCode = contractCode;
    }

    public BigDecimal getContractNum() {
        return contractNum;
    }

    public void setContractNum(BigDecimal contractNum) {
        this.contractNum = contractNum;
    }

    public BigDecimal getOrderFill() {
        return orderFill;
    }

    public void setOrderFill(BigDecimal orderFill) {
        this.orderFill = orderFill;
    }

    public String getIsDaizhi() {
        return isDaizhi;
    }

    public void setIsDaizhi(String isDaizhi) {
        this.isDaizhi = isDaizhi;
    }

    public String getIsTuoguan() {
        return isTuoguan;
    }

    public void setIsTuoguan(String isTuoguan) {
        this.isTuoguan = isTuoguan;
    }

    public String getTuopanCode() {
        return tuopanCode;
    }

    public void setTuopanCode(String tuopanCode) {
        this.tuopanCode = tuopanCode;
    }

    public String getQijuCode() {
        return qijuCode;
    }

    public void setQijuCode(String qijuCode) {
        this.qijuCode = qijuCode;
    }

    public String getTxm() {
        return txm;
    }

    public void setTxm(String txm) {
        this.txm = txm;
    }

    public String getMakerCode() {
        return makerCode;
    }

    public void setMakerCode(String makerCode) {
        this.makerCode = makerCode;
    }

    public String getMakerName() {
        return makerName;
    }

    public void setMakerName(String makerName) {
        this.makerName = makerName;
    }

    public BigDecimal getSize() {
        return size;
    }

    public void setSize(BigDecimal size) {
        this.size = size;
    }

    public BigDecimal getSingleWeight() {
        return singleWeight;
    }

    public void setSingleWeight(BigDecimal singleWeight) {
        this.singleWeight = singleWeight;
    }

    public BigDecimal getTotalWeight() {
        return totalWeight;
    }

    public void setTotalWeight(BigDecimal totalWeight) {
        this.totalWeight = totalWeight;
    }

    public BigDecimal getPackingNum() {
        return packingNum;
    }

    public void setPackingNum(BigDecimal packingNum) {
        this.packingNum = packingNum;
    }

    public Date getRukuDate() {
        return rukuDate;
    }

    public void setRukuDate(Date rukuDate) {
        this.rukuDate = rukuDate;
    }

    public BigDecimal getStockSafe() {
        return stockSafe;
    }

    public void setStockSafe(BigDecimal stockSafe) {
        this.stockSafe = stockSafe;
    }

    public String getUseState() {
        return useState;
    }

    public void setUseState(String useState) {
        this.useState = useState;
    }

    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;
    }

    public String getFigure() {
        return figure;
    }

    public void setFigure(String figure) {
        this.figure = figure;
    }

    public String getCaizhi() {
        return caizhi;
    }

    public void setCaizhi(String caizhi) {
        this.caizhi = caizhi;
    }

    public String getJcItemName() {
        return jcItemName;
    }

    public void setJcItemName(String jcItemName) {
        this.jcItemName = jcItemName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("deptId", getDeptId())
            .append("itemName", getItemName())
            .append("itemId", getItemId())
            .append("lot", getLot())
            .append("kcNum", getKcNum())
            .append("qutlityStauts", getQutlityStauts())
            .append("supplyId", getSupplyId())
            .append("supplyName", getSupplyName())
            .append("classId", getClassId())
            .append("className", getClassName())
            .append("stockId", getStockId())
            .append("stockName", getStockName())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("version", getVersion())
            .toString();
    }
}
